const Common = require('./common');
const async = require('async');
const WishModel = require('../model/wish');
const Constant = require('../constant/constant');
// 配置导出对象
let exportObj = {
  getList,
  add
};
module.exports = exportObj;

// 获取许愿列表的方法
function getList(req,res){
  let tasks = {
    query:cb=>{
      WishModel.findAll({
        limit:5,
        order:[['created_at','DESC']],
      }).then(function(result){
        const list = [];
        result.forEach((item,index) => {
          let obj = {
            id:item.id,
            name:item.name,
            content:item.content,
          }
          list.push(obj)
        });
        cb(null,list)
      }).catch(function(err){
        cb(Constant.DEFAULT_ERROR)
      })
    }
  };

  async.auto(tasks,function(err,result){
    if(err){
      console.log(err);
    }else{
      res.render('index',{list:result['query']})
    }
  })
}


// 增加许愿逻辑的方法
function add(req,res){
  console.log('页面跳转进来这里了吗')
  let tasks = {    // 执行添加方法
    add:cb=>{
      WishModel.create({
        name:req.body.name,
        content:req.body.content
      }).then(result => {
        cb(null)
      }).catch(err=>{
        console.log('结果插入失败');
        cb(Constant.DEFAULT_ERROR)
      })
    }
  }
  // 让async自动控制流程
  async.auto(tasks,function(err,result){
    if(err){
      let result = '失败';
      let msg = '添加失败，出现错误';
      if(err.code === '199'){
        msg = '添加失败，姓名和愿望都要填上哦'
      }
      res.render('result',{
        result,
        msg
      })
    }else{
      res.render('result',{
        result:'成功',
        msg:'添加成功，返回去看一下'
      })
    }
  })
}